package suan_fa.bitopration;

public class Test1 {
    public static void main(String[] args) {
        System.out.println(2&3);//10 11    10->2
        System.out.println(2|3);//         11->3
        System.out.println(2^3);//         01->1
        System.out.println(~3);//易错32位           00->0
        System.out.println(2<<1);//        100->4
        System.out.println(2>>1);//        01->1


        /*机器存储的是补码方式存取，3的话，按照8位来算就是0000 0011，取反后是1111 1100
        而第一位为1表示负数，负数补码表示法为原位取反，末位加1（符号位不变），1111 1100这是补码，按照负数表示法逆向表示为：
        先减一，为1111 1011，再取反为1000 0100（首位1为负数的符号位）,转换为十进制后为-4*/


        //与运算作用，清零，取一个数指定位，判断奇数偶数
        int a='1';
        System.out.println(a-'0');
    }
}
